"""
使用最大池化进行下采样
最大池化模型会在下采样时,选择最大值作为结果
结果的size为输入的size对kernel size的整除(例如5*5对2*2,结果为2*2,忽略最后一列和最后一行)
"""
import torch

# 定义数据
input = [
    1, 5, 6, 8, 7, 3,
    5, 6, 9, 8, 0, 2,
    7, 9, 5, 2, 4, 5,
    5, 6, 9, 8, 3, 7,
    4, 7, 8, 2, 9, 1,
    8, 6, 9, 7, 4, 2,
]
# 转换到tensor
input = torch.tensor(input, dtype=torch.float32).view(1, 1, 6, 6)
# 定义下采样模型,kernel_size会决定stride步进大小(保持一致)
model = torch.nn.MaxPool2d(kernel_size=2)
# 进行下采样
output = model(input)
print(output)
